//! Shabal initialization constants.

pub(crate) const INIT_192: ([u32; 12], [u32; 16], [u32; 16]) = (
    [
        0xFD74_9ED4, 0xB798_E530, 0x3390_4B6F, 0x46BD_A85E,
        0x0769_34B4, 0x454B_4058, 0x77F7_4527, 0xFB4C_F465,
        0x6293_1DA9, 0xE778_C8DB, 0x22B3_998E, 0xAC15_CFB9,
    ],
    [
        0x58BC_BAC4, 0xEC47_A08E, 0xAEE9_33B2, 0xDFCB_C824,
        0xA794_4804, 0xBF65_BDB0, 0x5A9D_4502, 0x5997_9AF7,
        0xC5CE_A54E, 0x4B6B_8150, 0x16E7_1909, 0x7D63_2319,
        0x9305_73A0, 0xF34C_63D1, 0xCAF9_14B4, 0xFDD6_612C,
    ],
    [
        0x6155_0878, 0x89EF_2B75, 0xA166_0C46, 0x7EF3_855B,
        0x7297_B58C, 0x1BC6_7793, 0x7FB1_C723, 0xB66F_C640,
        0x1A48_B71C, 0xF097_6D17, 0x088C_E80A, 0xA454_EDF3,
        0x1C09_6BF4, 0xAC76_224B, 0x5215_781C, 0xCD5D_2669,
    ],
);

pub(crate) const INIT_224: ([u32; 12], [u32; 16], [u32; 16]) = (
    [
        0xA520_1467, 0xA9B8_D94A, 0xD4CE_D997, 0x6837_9D7B,
        0xA7FC_73BA, 0xF1A2_546B, 0x6067_82BF, 0xE0BC_FD0F,
        0x2F25_374E, 0x069A_149F, 0x5E2D_FF25, 0xFAEC_F061,
    ],
    [
        0xEC99_05D8, 0xF218_50CF, 0xC0A7_46C8, 0x21DA_D498,
        0x3515_6EEB, 0x088C_97F2, 0x2630_3E40, 0x8A2D_4FB5,
        0xFEEE_44B6, 0x8A1E_9573, 0x7B81_111A, 0xCBC1_39F0,
        0xA351_3861, 0x1D2C_362E, 0x918C_580E, 0xB58E_1B9C,
    ],
    [
        0xE4B5_73A1, 0x4C1A_0880, 0x1E90_7C51, 0x0480_7EFD,
        0x3AD8_CDE5, 0x16B2_1302, 0x0251_2C53, 0x2204_CB18,
        0x9940_5F2D, 0xE5B6_48A1, 0x70AB_1D43, 0xA10C_25C2,
        0x16F1_AC05, 0x38BB_EB56, 0x9B01_DC60, 0xB109_6D83,
    ],
);

pub(crate) const INIT_256: ([u32; 12], [u32; 16], [u32; 16]) = (
    [
        0x52F8_4552, 0xE54B_7999, 0x2D8E_E3EC, 0xB964_5191,
        0xE007_8B86, 0xBB7C_44C9, 0xD2B5_C1CA, 0xB0D2_EB8C,
        0x14CE_5A45, 0x22AF_50DC, 0xEFFD_BC6B, 0xEB21_B74A,
    ],
    [
        0xB555_C6EE, 0x3E71_0596, 0xA72A_652F, 0x9301_515F,
        0xDA28_C1FA, 0x696F_D868, 0x9CB6_BF72, 0x0AFE_4002,
        0xA6E0_3615, 0x5138_C1D4, 0xBE21_6306, 0xB38B_8890,
        0x3EA8_B96B, 0x3299_ACE4, 0x3092_4DD4, 0x55CB_34A5,
    ],
    [
        0xB405_F031, 0xC423_3EBA, 0xB373_3979, 0xC0DD_9D55,
        0xC51C_28AE, 0xA327_B8E1, 0x56C5_6167, 0xED61_4433,
        0x88B5_9D60, 0x60E2_CEBA, 0x758B_4B8B, 0x83E8_2A7F,
        0xBC96_8828, 0xE6E0_0BF7, 0xBA83_9E55, 0x9B49_1C60,
    ],
);

pub(crate) const INIT_384: ([u32; 12], [u32; 16], [u32; 16]) = (
    [
        0xC8FC_A331, 0xE55C_504E, 0x003E_BF26, 0xBB6B_8D83,
        0x7B04_48C1, 0x41B8_2789, 0x0A7C_9601, 0x8D65_9CFF,
        0xB6E2_673E, 0xCA54_C77B, 0x1460_FD7E, 0x3FCB_8F2D,
    ],
    [
        0x5272_91FC, 0x2A16_455F, 0x78E6_27E5, 0x944F_169F,
        0x1CA6_F016, 0xA854_EA25, 0x8DB9_8ABE, 0xF2C6_2641,
        0x3011_7DCB, 0xCF5C_4309, 0x9371_1A25, 0xF9F6_71B8,
        0xB01D_2116, 0x333F_4B89, 0xB285_D165, 0x8682_9B36,
    ],
    [
        0xF764_B11A, 0x7617_2146, 0xCEF6_934D, 0xC6D2_8399,
        0xFE09_5F61, 0x5E60_18B4, 0x5048_ECF5, 0x5135_3261,
        0x6E6E_36DC, 0x6313_0DAD, 0xA9C6_9BD6, 0x1E90_EA0C,
        0x7C35_073B, 0x28D9_5E6D, 0xAA34_0E0D, 0xCB3D_EE70,
    ],
);

pub(crate) const INIT_512: ([u32; 12], [u32; 16], [u32; 16]) = (
    [
        0x2072_8DFD, 0x46C0_BD53, 0xE782_B699, 0x5530_4632,
        0x71B4_EF90, 0x0EA9_E82C, 0xDBB9_30F1, 0xFAD0_6B8B,
        0xBE0C_AE40, 0x8BD1_4410, 0x76D2_ADAC, 0x28AC_AB7F,
    ],
    [
        0xC109_9CB7, 0x07B3_85F3, 0xE744_2C26, 0xCC8A_D640,
        0xEB6F_56C7, 0x1EA8_1AA9, 0x73B9_D314, 0x1DE8_5D08,
        0x4891_0A5A, 0x893B_22DB, 0xC5A0_DF44, 0xBBC4_324E,
        0x72D2_F240, 0x7594_1D99, 0x6D8B_DE82, 0xA1A7_502B,
    ],
    [
        0xD9BF_68D1, 0x58BA_D750, 0x5602_8CB2, 0x8134_F359,
        0xB5D4_69D8, 0x941A_8CC2, 0x418B_2A6E, 0x0405_2780,
        0x7F07_D787, 0x5194_358F, 0x3C60_D665, 0xBE97_D79A,
        0x950C_3434, 0xAED9_A06D, 0x2537_DC8D, 0x7CDB_5969,
    ],
);
